feat(client): add opt-in remote hub voice relay - #4056
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
✅ Deterministic PR hygiene checks passed. |
⏳ DRAFT
What to do
Review readiness checklist
0/4 boxes ticked. This pull request was already a draft. Its draft status will be preserved after every issue above is resolved. |
리뷰 · 우선순위 56 / 80이 PR은 왜 지금 파일 범위는 좁고 일관되다. 새 구현 경로 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
987ce6a to
bbee23d
Compare
|
Follow-up fix pushed in bbee23d, rebased onto dev ff524ae. The original relay forwarded a proxy admission bearer in Authorization, which the real hub forwarding guard rejected with 401. Both HTTP and WebSocket relay paths now remove connected or recognized proxy admission bearers while retaining native caller OAuth; the hub guard is unchanged semantically through a shared classification helper. Regression reproduced the 401 before the repair. Verification: 9 relay tests and 62 auth tests passed, typecheck and privacy scan passed, final bundled-artifact HTTP/WS smoke passed, and bun run prepush completed with exit 0. Independent focused security review found no P0/P1 blockers. Local-process trust is now explicit in the guide. This remains a draft awaiting maintainer sponsorship/security review; no microphone/speaker acceptance or Windows-native acceptance is claimed. |
Summary
ocx voice-relay [--port <port>] [--allow-standalone]for Codex clients already connected to an authenticated remote hub. The foreground listener binds only to loopback and uses the existing connection-owned data credential; normal provider routing is unchanged.Related work: #3361 added the loopback realtime override but explicitly excluded admission-token provider-table mode. #3969 clarified client/proxy voice ownership. This is a separate remote-client transport, not a replacement for those changes. Searches of open and closed voice/realtime PRs did not identify an equivalent connected-client relay.
This touches credential handling and needs maintainer sponsorship and explicit security review before merge. It is intentionally submitted as a contributor draft. No live microphone/speaker session or Windows-native runtime acceptance is claimed; network tests use a synthetic local hub.
Verification
bun run typecheck— passed.bun test tests/clients/client-voice-relay.test.ts tests/cli/cli-registry.test.ts tests/cli/cli-capabilities.test.ts tests/cli/cli-help.test.ts tests/test-layout.test.ts tests/test-layout-tooling.test.ts— 70 passed, 0 failed across 6 files.bun run skill:surface:check— passed.bun run privacy:scan— passed.cd docs-site && bun install --frozen-lockfile && bun run build— passed, 425 pages.bun run prepush— passed (typecheck, full repository test runner, privacy scan; visual-client checks skipped automatically because that surface is unchanged).Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.